package com.bosssoft.service.oss.service;

import org.springframework.web.multipart.MultipartFile;

import java.io.InputStream;

/**
 * @author Echo
 * @version 0.1.0
 * @since 2021-04-12 10:34
 **/
public interface IOssService {

    /**
     * 阿里云oss文件上传
     *
     * @param file   文件
     * @param module 文件夹名称
     * @return 文件在oss服务器上的url地址
     */
    String upload(MultipartFile file, String module);


    /**
     * 文件上传
     *
     * @param file 文件
     * @return 文件地址
     * @author Echo
     * @since 2021/4/14 10:48
     */
    String upload(MultipartFile file);

    /**
     * 文件流上传
     *
     * @param inputStream      需要上传的流
     * @param module           模块名
     * @param originalFilename 通过原文件名获取后缀，也可以直接传后缀
     * @return java.lang.String
     * @author Echo
     * @since 2021/4/15 9:03
     */
    String upload(InputStream inputStream, String module, String originalFilename);


    /**
     * 指定模块的OSS 文件下载
     *
     * @param module   文件路径,路径末尾需要添加
     * @param fileName 文件名称
     * @return java.io.InputStream
     * @version 0.1.0
     * @author Echo
     * @since 2021/4/15 10:07
     */
    byte[] download(String module, String fileName);


    /**
     * OSS 文件下载，模块默认为other
     *
     * @param fileName 文件名称
     * @return java.io.InputStream
     * @version 0.1.0
     * @author Echo
     * @since 2021/4/15 10:07
     */
    byte[] download(String fileName);


}
